/* =============================================================================
 * PROJET           	: Matrices creuses
 * NOM DU FICHIER   	: chargement.c
 * OBJET            	: Paquetage de programmes permettant l'acces au fichier de
 *							: definition des clauses et des variables
 * -----------------------------------------------------------------------------
 * DATE DE CREATION 	: 07/04/2009
 * AUTEUR           	: Ivan VALIMAHAMED, Sha LIU, Yves BOGE
 * -----------------------------------------------------------------------------
 * MODIFICATIONS (   n) date - auteur - description )
 * ============================================================================= */
 

#include "Traitement.h"


/* 
 *	NOM 			: Affiche_contenu_fichier
 *	ENTREES 		: pointeur sur fichier i_F
 *	SORTIES		: void
 *	BUT			: Afficher l'ensemble du fichier texte sur la sortie standard
 */
 
void Affiche_contenu_fichier (FILE* i_F);


/* 
 *	NOM 			: Get_nb_var
 *	ENTREES 		: pointeur sur fichier i_F, pointeur positionne au debut du fichier
 *	SORTIES		: entier: nombre de variables, pointeur positionne avant le nombre de clauses
 *	BUT			: recuperer le nombre de variables contenu sur la premiere ligne du fichier
 */
 
int Get_nb_var (FILE* i_F);


/* 
 *	NOM 			: Get_nb_clauses
 *	ENTREES 		: pointeur sur fichier i_F, pointeur positionne avant le nombre de clauses
 *	SORTIES		: entier: nombre de variables, pointeur positionne apres le nombre de clauses
 *	BUT			: recuperer le nombre de clauses contenu sur la deuxieme ligne du fichier
 */
 
int Get_nb_clauses (FILE* i_F);


/* 
 *	NOM 			: Affiche_litteraux
 *	ENTREES 		: pointeur sur fichier i_F, pointeur positionne apres le nombre de clauses
 *	SORTIES		: void, pointeur positionne a la fin du fichier
 *	BUT			: Afficher les litteraux par clauses (structure de controle de decoupage et traitement
 *						des clauses)
 */
 
void Affiche_litteraux (FILE* i_F);




/* 
 *	NOM 			: Get_litteraux
 *	ENTREES 		: pointeur sur fichier i_F, pointeur positionne apres le nombre de clauses
 *					: matrice de type t_Matrice de taille definie
 *	SORTIES		: matrice remplie avec les litteraux chaines
 *	BUT			: charger les litteraux dans la matrice
 */
 
void Get_litteraux (FILE* i_F , t_Matrice* mat);


/* 
 *	NOM 			: Get_matrice
 *	ENTREES 		: pointeur sur fichier i_F, pointeur positionne au debut du fichier
 *	SORTIES		: t_Matrice : une matrice contenant toutes les informations du probleme
 *	BUT			: Construire une matrice de type t_Matrice contenant tous les litteraux
 *					: contenus dans le fichier i_F
 */
 
t_Matrice Get_matrice (FILE* i_F);
